package com.lantu.wisdom.service;

import com.lantu.framework.common.constants.exceptions.ASException;
import com.lantu.framework.common.utils.PageQueryResult;
import com.lantu.wisdom.dto.AddQuestionDTO;
import com.lantu.wisdom.dto.GetAllQuestionDTO;
import com.lantu.wisdom.dto.SearchQuestionDTO;
import com.lantu.wisdom.dto.vo.GetQuestionDetailVO;
import com.lantu.wisdom.model.WQuestion;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zch
 * @since 2021-06-15
 */
public interface WQuestionApi extends IService<WQuestion>  {

    /**
     * 添加问题
     * @param dto
     * @return
     */
    boolean addQuestion(AddQuestionDTO dto)throws ASException;

    /**
     * 获取问题列表
     * @param userId
     * @return
     */
    List getQuestion(String userId);

    /**
     * 获取所有问题列表
     * @return
     */
    PageQueryResult<GetAllQuestionDTO> getAllQuestion(SearchQuestionDTO searchQuestionDTO);

    /**
     * 获取问题详情
     * @param questionId
     * @return
     */
    GetQuestionDetailVO getQuestionDetail(Integer questionId);

    /**
     * 是否可以保存问题
     * @param userId
     * @return
     */
    boolean whetherAdd(String userId);
}
